"""
多维数组是一种数组，其元素本身也是数组。这种结构可以用来描述多维空间中的数据，例如，在二维数组（也被称为矩阵）中，每个元素都由两个索引来确定其位置。

在 Python 中，我们通常使用嵌套列表作为多维数组使用。以下是一个包含添加元素、获取元素、设置元素、获取数组维度等操作的简单示例：

"""

class MultiDimensionalArray:
    def __init__(self):
        self.array = []

    def add(self, *args):
        self.array.append(list(args))

    def get(self, row, column):
        return self.array[row][column] if 0 <= row < len(self.array) and 0 <= column < len(self.array[0]) else None

    def set(self, row, column, value):
        if 0 <= row < len(self.array) and 0 <= column < len(self.array[0]):
            self.array[row][column] = value

    def dimensions(self):
        return len(self.array), len(self.array[0]) if self.array else 0


if __name__ == '__main__':
    mda = MultiDimensionalArray()

    mda.add(1, 2, 3)
    mda.add(4, 5, 6)
    mda.add(7, 8, 9)

    print(mda.get(1, 1))  # 5

    mda.set(1, 1, 50)
    print(mda.get(1, 1))  # 50

    print(mda.dimensions())  # (3, 3)
